spaghetti plot

経時データ対する個体別折れ線グラフ(spaghetti plot)をRで作図するには、いくつか方法があります。

データ例

library(nlme)
head(d <- Orthodont)
## Grouped Data: distance ~ age | Subject
##   distance age Subject  Sex
## 1     26.0   8     M01 Male
## 2     25.0  10     M01 Male
## 3     29.0  12     M01 Male
## 4     31.0  14     M01 Male
## 5     21.5   8     M02 Male
## 6     22.5  10     M02 Male

interaction.plotによる作図

interaction.plotを使えば追加パッケージの読込なしで描ける。

  • 必要最小限はinteraction.plot([x変数],[個体識別変数],[y変数])
  • 個体数分の凡例が表示されてしまい邪魔なので、legend=FALSEとして非表示。
interaction.plot(d$age,d$Subject,d$distance,legend=FALSE)

xyplotによる作図

latticeパッケージのxyplot関数の方が分かりやすいかも。

library(lattice)
xyplot(distance~age,data=d,group=Subject,type="l")

モデル式で|の後に指定した変数で層化できる

xyplot(distance~age|Sex,data=d,group=Subject,type="l")